package com.fxp.project.jiuselu.web.models.sample.service;


import com.fxp.project.jiuselu.web.business.v1.request.order.ReqOrderCart;
import com.fxp.project.jiuselu.web.models.sample.entity.SampleOrder;
import com.fxp.project.jiuselu.web.models.sample.entity.vo.SampleOrderVo;
import com.github.pagehelper.PageInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 样品订单Service接口
 *
 * @author Jason.Wang
 * @date 2022-06-08
 */
public interface ISampleOrderService
{
    /**
     * 查询样品订单
     *
     * @param sampleId 样品订单主键
     * @return 样品订单
     */
    public SampleOrderVo selectSampleOrderBySampleId(String sampleId);

    /**
     * 查询样品订单列表
     *
     * @param sampleOrder 样品订单
     * @return 样品订单集合
     */
    public PageInfo<?> selectSampleOrderList(SampleOrder sampleOrder);

    public List<SampleOrderVo> selectSampleListByUserIdStatus(Long userId, @Param("orderTotalStatus") Integer orderTotalStatus);

    /**
     * 新增样品订单
     *
     * @return 结果
     */
    public Object insertSampleOrder(ReqOrderCart reqOrderCart,Long userId);

    /**
     * 修改样品订单
     *
     * @param sampleOrder 样品订单
     * @return 结果
     */
    public int updateSampleOrder(SampleOrder sampleOrder);

    /**
     * 批量删除样品订单
     *
     * @param sampleIds 需要删除的样品订单主键集合
     * @return 结果
     */
    public int deleteSampleOrderBySampleIds(String[] sampleIds);

    /**
     * 删除样品订单信息
     *
     * @param sampleId 样品订单主键
     * @return 结果
     */
    public int deleteSampleOrderBySampleId(String sampleId);
}
